<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Model\Cat;

use App\User;
class CatController extends Controller
{
    
    protected  $Cat;

      public  function  __construct()
    {
        $this->Cat = new Cat();

    }
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     *
     */
    public function index()
    {

        $Cat = new Cat();
        $datas = $Cat::select('cat_id','parent_id','cat_name')->get();
        $tops = $Cat->findSon($datas,0);
        $cats = Cat::all();        
        //$cats =$this->Cat->findAll();
        return view('admin.cat_index')->with('cats',$cats)->with('tops',$tops);
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        $Cat = new Cat();
        $datas = $Cat::select('cat_id','parent_id','cat_name')->get();
        $tops = $Cat->findSon($datas,0);
        $cats = Cat::all();        
        return view('admin.cat_add')->with('cats',$cats)->with('tops',$tops);
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //验证
        $cat = $this->Cat;
        $cat->parent_id=$request->parent_id;
        $cat->cat_name = $request->cat_name;
        $cat->save();  
        return redirect('admin/cat');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //

    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        
        return view('admin.cat_edit');
        
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
     public function destroy($id)
    {
        $res = DB::table('cats')->where('cat_id',$id)->delete();
        if($res){
            return view('/admin/cat_index.');
        }else{
            return back();
        }
    }

    public function del($id)
    {
        $res = DB::table('cats')->where('cat_id',$id)->delete();
        if($res){
            return 1;
        }else{
            return 0;
        }
    }


}
